/********************************************
 * 功能说明: 手机号验证类
 * 模块名称: 验证模块
 * 系统名称: java敏捷开发平台
 * 软件版权:
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2017年5月12日 下午1:48:34
 * 审核人员:
 * 相关文档:
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.validator;

import com.hyacinth.validator.constraints.Mobile;
import org.apache.commons.lang3.StringUtils;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.regex.Pattern;


/**
 * 手机号验证类
 * @author zhangfb
 * @version 1.0.0.1
 */
public class MobileValidator implements ConstraintValidator<Mobile, String> {

	private final static Pattern pattern = Pattern.compile("^((1[3-9][0-9])|(14[5,7])|(17[0,3,6,7,8])|(19[5,7,9]))\\d{8}$");
	
	@Override
	public void initialize(Mobile annotation) {
		
	}

	@Override
	public boolean isValid(String value, ConstraintValidatorContext context) {
		if (StringUtils.isNotBlank(value)) {
			return pattern.matcher(value).matches();
		}
		return true;
	}

}
